Known test automation tools can be used to define test scenarios and to control execution of these test scenarios related to an application targeted for verification (e.g., verification testing). These known test automation tools may support automation of tasks such as application installation, test scenario creation, user interface (UI) interaction, problem detection (such as parsing, pulling agents, etc.), defect logging, comparison of actual outcomes to predicted outcomes, setting up of test pre-conditions, and/or other test control and/or test reporting functions. These known test automation tools can also be configured to record, as a test scenario, user interactions (e.g., native events raised by an operating system (OS) in response to a user interaction) with a user interface (e.g., a graphical user interface) of an application targeted for testing. Hence, the test scenario can be created for the application via the user interface, and the application can be tested via the user interface based on the test scenario.
Existing tools may provide a basic recorder that is capable of recording low-level UI events such as, for example, mouse clicks and keyboard inputs. The test generated with these tools and this approach may be poor in terms of semantics. For example, the tester cannot distinguish easily the click on a button from a click on a link. In addition, the flexibility of hypertext mark-up language (HTML) content generated by a UI framework that is running on a server may present difficulties in collecting information required to be able to play the recorded action again. Thus, it may be desirable to provide systems and techniques to address shortfalls of present technology, and to provide other new and innovative features.